package com.um2.mauction.session.impl;

import javax.ejb.Remote;
import javax.ejb.Remove;
import javax.ejb.Stateful;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

import com.um2.mauction.entity.Commande;
import com.um2.mauction.entity.Produit;
import com.um2.mauction.entity.Utilisateur;
import com.um2.mauction.session.remote.OrderBeanRemote;

@Remote(OrderBeanRemote.class)
@Stateful
public class OrderBean implements OrderBeanRemote
{
	@PersistenceContext
	private EntityManager em;
	
	//infos général commande		
	private Produit item;
	private Utilisateur seller;
	private Utilisateur buyer;
	
	// infos réglement	
	private String modePaiement;
	private String numero;
	
	// infos livraison	
	private String adresse;
	private String codePostal;
	private String ville;
	
	public void annulerCommande()
	{		
		seller=null;
		buyer=null;
		item=null;
		modePaiement=""; 
		numero="";
		adresse="";
		codePostal="";
		ville="";
	}
	
	@Remove
	public void validerCommande()
	{
		Commande c = new Commande();
		
		c.setSeller(seller);
		c.setBuyer(buyer);
		c.setItem(item);
		
		c.setModePaiement(modePaiement);
		c.setNumero(numero);
		c.setAdresse(adresse);
		c.setCodePostal(codePostal);
		c.setVille(ville);
				
		em.persist(c);
	}

	public void setInfosCommande(Produit item, Utilisateur vendeur,
			Utilisateur acheteur) 
	{
		this.item=item;
		this.seller=vendeur;
		this.buyer=acheteur;
	}

	public void setInfosLivraison(String adresse, String codePostal,
			String ville) 
	{
		this.adresse=adresse;
		this.codePostal=codePostal;
		this.ville=ville;
	}

	public void setInfosReglement(String modePaiement, String numero) 
	{
		this.modePaiement=modePaiement;
		this.numero=numero;
	}	
}